package com.project.dao;

import com.project.bean.*;

import java.util.List;

public interface IStudentDao {
    /**
     * 添加学生
     *
     * @param studentBean 学生对象
     */
    public void add(StudentBean studentBean);

    /**
     * 根据id查询学生 对象、房间地址、班级名称
     *
     * @param id 学生id
     * @return 学生对象
     */
    public StudentBean findById(Integer id);

    /**
     * 动态分页查询学生对象
     *
     * @param pageNO    页码
     * @param name      学生姓名
     * @param className 学生班级
     * @param room      学生所在房间
     * @return 分页学生集合
     */
    public CutPageBean<StudentBean> findByItem(Integer pageNO, String name, String className, String room);

    /**
     * 根据id删除学生（学生退房）
     *
     * @param id 学生id
     */
    public void delStu(Integer id);

    /**
     * 根据id修改学生房间（学生换房）
     *
     * @param id     学生id
     * @param roomId 房间id
     */
    public void updateRoom(Integer id, Integer roomId);

    /**
     * 按照班级id统计此班级学生的人数
     *
     * @param classId 班级id
     * @return 学生人数
     */
    public int countByClass(Integer classId);

    /**
     * 按照房间id统计该房间人数
     *
     * @param roomId 房间id
     * @return 房间人数
     */
    public int countByRoom(Integer roomId);

    /**
     * 根据房间id查找学生集合，同时查询学生所在班级名称
     *
     * @param roomId 房间id
     * @return 学生集合
     */
    public List<StudentBean> findByRoomId(Integer roomId);

}
